1. Field
The present invention relates to systems and methods for solving linear equations. More particularly, embodiments of the invention involve a distributed and scalable architecture for iteratively solving sets of linear equations.
2. Description of Related Art
In various fields of engineering and science it is often necessary to work with very large matrix equations, such as Ax=b where A is an n×n matrix, b is a known n-vector, and x is an unknown n-vector. Exemplary disciplines that require solutions to matrix equations are computational fluid dynamics, electromagnetics geophysical exploration, economics, linear programming, astronomy, chemistry, and structural analysis, to name a few. Solving large matrix equations is computationally expensive, particularly where the matrix A above comprises millions or tens of millions of rows.
Solving the equation Ax=b set forth above for the unknown vector x may involve, for example, iteratively calculating approximations of each value of the vector x, wherein the approximated values of x gradually converge on a solution to the equation. This approach requires performing repeated calculations, which requires a great deal of time where the matrix A comprises millions or tens of millions of rows of data.
Accordingly, there is a need for an improved method of solving linear equations that does not suffer from the problems and limitations of the prior art.